TODO: check for grammar
After almost twelve years of studying music from the optics of a jazz musician, you could say that this has influenced my taste in music and musical analytic capacity by a significant amount. Playing in a bigband twice a week and simply being around a lot of jazz started to consume my being with regards to thinking, listening and of course playing. After a series of unfortunate events, the members of our bigband decided to part ways and around this time I made the most important decision to start paying for a Spotify account. This marks the start of a — heavily influenced by jazz — liked playlist.
Two years go by and the decision is made to go on exchange and have the time of my life. In this period where I was supposed to be studying, I learned to appreciate going out and clubbing with a specific love for minimal techno and deep house music. These styles of music are repetitive and not always the most complex, which wouldn’t have made my heart beat faster in the past. Even so, this new found appreciation for a new style of music must have changed the mean characteristics of a song present in my Spotify liked playlist by a lot.
Because I am aware of this shifting trend in my own music taste, I hope to see this reflected when looking at a deeper analysis of my Spotify liked playlist by using the Spotify API. Since an account’s liked playlist is the only playlist which can not be made public, I’ve had to use a workaround and export my liked playlist as a csv file through a service called Skiley. I could not copy and paste my liked songs to a regular Spotify playlist and export them that way, since the dateAdded feature wouldn’t be preserved that way, which is a most-important feature when performing an analysis over time. The resulting corpus exists of 1338 songs, accumulated over two and a half years of joyous listening.
addedAt albumArtistsNames albumName
Min. :2021-10-21 10:34:26.00 Length:1338 Length:1338
1st Qu.:2022-07-29 01:20:55.75 Class :character Class :character
Median :2023-01-21 06:50:30.50 Mode :character Mode :character
Mean :2022-12-29 14:43:02.48
3rd Qu.:2023-06-02 13:48:52.75
Max. :2024-02-22 21:03:25.00
albumPopularity albumRecordLabel albumReleaseDate artistFollowers
Min. : 0.00 Length:1338 Min. :1962-06-30 Min. : 6
1st Qu.:26.00 Class :character 1st Qu.:2008-01-06 1st Qu.: 23438
Median :43.00 Mode :character Median :2018-09-03 Median : 94142
Mean :41.09 Mean :2012-06-26 Mean : 1645946
3rd Qu.:57.00 3rd Qu.:2021-07-29 3rd Qu.: 717599
Max. :91.00 Max. :2024-01-12 Max. :84097254
artistName artistPopularity secondaryArtistsNames trackDuration
Length:1338 Min. : 0.00 Length:1338 Length:1338
Class :character 1st Qu.:37.00 Class :character Class1:hms
Mode :character Median :47.00 Mode :character Class2:difftime
Mean :48.84 Mode :numeric
3rd Qu.:61.00
Max. :96.00
trackFeatureAcousticness trackFeatureDanceability trackFeatureEnergy
Min. :0.0000057 Min. :0.0000 Min. :0.0260
1st Qu.:0.0281000 1st Qu.:0.6350 1st Qu.:0.5272
Median :0.1140000 Median :0.7400 Median :0.6600
Mean :0.2025144 Mean :0.7131 Mean :0.6509
3rd Qu.:0.3020000 3rd Qu.:0.8140 3rd Qu.:0.7917
Max. :0.9920000 Max. :0.9880 Max. :0.9980
trackFeatureInstrumentalness trackFeatureKey trackFeatureLiveness
Min. :0.0000000 Min. : 0.000 Min. :0.01730
1st Qu.:0.0000095 1st Qu.: 2.000 1st Qu.:0.08875
Median :0.0078600 Median : 6.000 Median :0.11750
Mean :0.2432348 Mean : 5.598 Mean :0.18041
3rd Qu.:0.5465000 3rd Qu.: 9.000 3rd Qu.:0.21175
Max. :0.9690000 Max. :11.000 Max. :0.95400
trackFeatureLoudness trackFeatureMode trackFeatureSpeechiness
Min. :-22.863 Min. :0.000 Min. :0.00000
1st Qu.: -9.930 1st Qu.:0.000 1st Qu.:0.04822
Median : -7.868 Median :1.000 Median :0.08050
Mean : -8.276 Mean :0.503 Mean :0.13543
3rd Qu.: -6.257 3rd Qu.:1.000 3rd Qu.:0.20075
Max. : 0.920 Max. :1.000 Max. :0.85600
trackFeatureTempo trackFeatureTimeSignature trackFeatureValence
Min. : 0.00 Min. :0.000 Min. :0.0000
1st Qu.: 94.12 1st Qu.:4.000 1st Qu.:0.4898
Median :118.00 Median :4.000 Median :0.6610
Mean :118.15 Mean :3.953 Mean :0.6319
3rd Qu.:132.48 3rd Qu.:4.000 3rd Qu.:0.8090
Max. :210.16 Max. :5.000 Max. :0.9890
trackName trackPopularity trackNumber artistGenres
Length:1338 Min. : 0.00 Min. : 1.000 Length:1338
Class :character 1st Qu.:24.00 1st Qu.: 1.000 Class :character
Mode :character Median :41.00 Median : 3.000 Mode :character
Mean :39.53 Mean : 4.552
3rd Qu.:55.75 3rd Qu.: 7.000
Max. :94.00 Max. :24.000
Lorem Ipsum
TODO: write
TODO: write
TODO: write
TODO: write
TODO: write
TODO: write
In short: NO
---
title: "new corpus compMusic"
output:
flexdashboard::flex_dashboard:
# orientation: columns
storyboard: true
social: menu
source: embed
date: "2024-02-23"
---
```{r setup, include=FALSE}
# knitr::opts_chunk$set(echo = TRUE)
library(flexdashboard)
```
```{r, echo=FALSE}
library(tidyverse)
library(spotifyr)
library(ggplot2)
df <- read_csv(
"Liked Songs.csv",
show_col_types = FALSE
) %>%
subset(select = -c(
isLocal,
isLikedByUser,
trackIsrc,
trackUrl,
artistUrl,
albumUrl,
albumUpc,
albumType,
addedBy
)) %>%
arrange(addedAt)
df_stats_global <- df %>%
summarise(
mean_speechiness = mean(trackFeatureSpeechiness),
mean_acousticness = mean(trackFeatureAcousticness),
mean_liveness = mean(trackFeatureLiveness),
sd_speechiness = sd(trackFeatureSpeechiness),
sd_acousticness = sd(trackFeatureAcousticness),
sd_liveness = sd(trackFeatureLiveness),
median_speechiness = median(trackFeatureSpeechiness),
median_acousticness = median(trackFeatureAcousticness),
median_liveness = median(trackFeatureLiveness),
mad_speechiness = mad(trackFeatureSpeechiness),
mad_acousticness = mad(trackFeatureAcousticness),
mad_liveness = mad(trackFeatureLiveness)
)
```
Corpus
=======================================================================
TODO: check for grammar
#### Out with the old: start of a beatiful thing
After almost twelve years of studying music from the optics of a jazz musician, you could say that this has influenced my taste in music and musical analytic capacity by a significant amount.
Playing in a bigband twice a week and simply being around a lot of jazz started to consume my being with regards to thinking, listening and of course playing.
After a series of unfortunate events, the members of our bigband decided to part ways and around this time I made the most important decision to start paying for a Spotify account.
This marks the start of a --- heavily influenced by jazz --- liked playlist.
#### Changes in life and music
Two years go by and the decision is made to go on exchange and have the time of my life.
In this period where I was supposed to be studying, I learned to appreciate going out and clubbing with a specific love for minimal techno and deep house music.
These styles of music are repetitive and not always the most complex, which wouldn't have made my heart beat faster in the past.
Even so, this new found appreciation for a new style of music must have changed the mean characteristics of a song present in my Spotify liked playlist by a lot.
#### Analyse what you like
Because I am aware of this shifting trend in my own music taste, I hope to see this reflected when looking at a deeper analysis of my Spotify liked playlist by using the Spotify API.
Since an account's liked playlist is the only playlist which can not be made public, I've had to use a workaround and export my liked playlist as a csv file through a service called *Skiley*.
I could not copy and paste my liked songs to a regular Spotify playlist and export them that way, since the *dateAdded* feature wouldn't be preserved that way, which is a most-important feature when performing an analysis over time.
The resulting corpus exists of 1338 songs, accumulated over two and a half years of joyous listening.
```{r, include=TRUE}
print(summary(df))
```
Analysis {.storyboard}
=======================================================================
### temporary sandbox
```{r, include=TRUE}
plt <- df |>
ggplot(
aes(
x = "dateAdded",
y = "trackFeatureTempo",
size = "trackFeatureEnergy",
# colour = mode,
# text = track.name
)
) +
geom_point()
plt
```
***
Lorem Ipsum
### Chroma Features
***
TODO: write
### Structure Analysis and Sef-similarity matrices
***
TODO: write
### Key and Chord Estimation
***
TODO: write
### Novelty Functions and Tempograms
***
TODO: write
### Classification and Clustering
***
TODO: write
Did I succeed?
=======================================================================
TODO: write
In short: NO